package com.fowo.api.model.shein.order.goods;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 希音订单商品 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SheinOrderGoodsImportPo {

  /** 订单号 */
  @ExcelProperty("订单号")
  @Size(max = 50, message = "订单号长度不能超过50")
  private String orderNo;

  /** 商品编号 */
  @ExcelProperty("商品编号")
  @Size(max = 50, message = "商品编号长度不能超过50")
  private String goodsId;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String skuCode;

  /** SKC */
  @ExcelProperty("SKC")
  @Size(max = 50, message = "SKC长度不能超过50")
  private String skc;

  /** 卖方SPU的ID */
  @ExcelProperty("卖方SPU的ID")
  @Size(max = 50, message = "卖方SPU的ID长度不能超过50")
  private String goodsSn;

  /** 卖方SKU */
  @ExcelProperty("卖方SKU")
  @Size(max = 50, message = "卖方SKU长度不能超过50")
  private String sellerSku;

  /** 商品状态 */
  @ExcelProperty("商品状态")
  @Size(max = 50, message = "商品状态长度不能超过50")
  private String goodsStatus;

  /** 订单货物状态 */
  @ExcelProperty("订单货物状态")
  @Size(max = 50, message = "订单货物状态长度不能超过50")
  private String newGoodsStatus;

  /** SKU属性信息 */
  @ExcelProperty("SKU属性信息")
  private String skuAttribute;

  /** 产品名称 */
  @ExcelProperty("产品名称")
  private String goodsTitle;

  /** 产品图片地址 */
  @ExcelProperty("产品图片地址")
  private String spuPicURL;

  /** 商品重量 */
  @ExcelProperty("商品重量")
  @DecimalString(message = "商品重量小数格式不正确", label = "商品重量")
  private String goodsWeight;

  /** 库存标签 */
  @ExcelProperty("库存标签")
  private String storageTag;

  /** 物流状态 */
  @ExcelProperty("物流状态")
  private String performanceTag;

  /** 换货标示 */
  @ExcelProperty("换货标示")
  private String goodsExchangeTag;

  /** 被交换产品的id */
  @ExcelProperty("被交换产品的id")
  @Size(max = 50, message = "被交换产品的id长度不能超过50")
  private String beExchangeEntityId;

  /** 货币 */
  @ExcelProperty("货币")
  @Size(max = 50, message = "货币长度不能超过50")
  private String orderCurrency;

  /** 订单货物销售价格 */
  @ExcelProperty("订单货物销售价格")
  @DecimalString(
    message = "订单货物销售价格小数格式不正确",
    label = "订单货物销售价格"
  )
  private String sellerCurrencyPrice;

  /** 店内优惠券金额 */
  @ExcelProperty("店内优惠券金额")
  @DecimalString(
    message = "店内优惠券金额小数格式不正确",
    label = "店内优惠券金额"
  )
  private String orderCurrencyStoreCouponPrice;

  /** 促销折扣金额 */
  @ExcelProperty("促销折扣金额")
  @DecimalString(message = "促销折扣金额小数格式不正确", label = "促销折扣金额")
  private String orderCurrencyPromotionPrice;

  /** SHEIN向卖家收取的佣金 */
  @ExcelProperty("SHEIN向卖家收取的佣金")
  @DecimalString(
    message = "SHEIN向卖家收取的佣金小数格式不正确",
    label = "SHEIN向卖家收取的佣金"
  )
  private String commission;

  /** 佣金费率 */
  @ExcelProperty("佣金费率")
  @DecimalString(message = "佣金费率小数格式不正确", label = "佣金费率")
  private String commissionRate;

  /** SHEIN向SFS卖家收取的服务费 */
  @ExcelProperty("SHEIN向SFS卖家收取的服务费")
  @DecimalString(
    message = "SHEIN向SFS卖家收取的服务费小数格式不正确",
    label = "SHEIN向SFS卖家收取的服务费"
  )
  private String serviceCharge;

  /** SHEIN向卖家收取的履约服务费 */
  @ExcelProperty("SHEIN向卖家收取的履约服务费")
  @DecimalString(
    message = "SHEIN向卖家收取的履约服务费小数格式不正确",
    label = "SHEIN向卖家收取的履约服务费"
  )
  private String performanceServiceCharge;

  /** 预估收入 */
  @ExcelProperty("预估收入")
  @DecimalString(message = "预估收入小数格式不正确", label = "预估收入")
  private String estimatedIncome;

  /** SPU */
  @ExcelProperty("SPU")
  @Size(max = 50, message = "SPU长度不能超过50")
  private String spuName;

  /** 货物销售税 */
  @ExcelProperty("货物销售税")
  @DecimalString(message = "货物销售税小数格式不正确", label = "货物销售税")
  private String saleTax;

  /** 仓库编号 */
  @ExcelProperty("仓库编号")
  @Size(max = 50, message = "仓库编号长度不能超过50")
  private String warehouseCode;

  /** 仓库名 */
  @ExcelProperty("仓库名")
  @Size(max = 50, message = "仓库名长度不能超过50")
  private String warehouseName;

  /** 卖方货币折扣价 */
  @ExcelProperty("卖方货币折扣价")
  @DecimalString(
    message = "卖方货币折扣价小数格式不正确",
    label = "卖方货币折扣价"
  )
  private String sellerCurrencyDiscountPrice;
}
